package pe.gob.mef.snip.preinversion.controller;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import pe.gob.mef.snip.preinversion.domain.Estudio;
import pe.gob.mef.snip.preinversion.domain.MatrizMarcoLogico;
import pe.gob.mef.snip.preinversion.domain.ProyectoBanco;
import pe.gob.mef.snip.preinversion.service.MatrizMarcoLogicoService;
import pe.gob.mef.snip.preinversion.util.ServiceException;

@Controller
public class MatrizMarcoLogicoController {

	protected final Log log = LogFactory.getLog(getClass());
	
	@Autowired
	private MatrizMarcoLogicoService matrizMarcoLogicoService;

	private MatrizMarcoLogico matrizMarcoLogico;
	private ProyectoBanco proyectoBanco;

	
	@RequestMapping("/matrizMarcoLogicoSnip03Listar")
	public ModelAndView matrizMarcoLogicoSnip03Listar(HttpServletRequest request, HttpServletResponse response) {
			
		if (log.isDebugEnabled()) log.debug("matrizMarcoLogicoSnip03Listar(HttpServletRequest,HttpServletResponse");
	    HttpSession session = request.getSession();	
		Map<String, Object> matrizMarcoLogicoSnip03Map = new HashMap<String, Object>();
		
	    String viewName = "";
		try{
			
			matrizMarcoLogicoSnip03Map.put("idProyecto", request.getParameter("idProyecto"));
			matrizMarcoLogicoSnip03Map.put("version", request.getParameter("version"));
			
			viewName = "frmMarcoLogico";			
			
			
		} catch (ServiceException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	
		return new ModelAndView(viewName,"matrizMarcoLogicoSnip03Map",matrizMarcoLogicoSnip03Map);
	}
	
	
	@RequestMapping("/matrizMarcoLogicoSnip03Grabar")
	public ModelAndView grabar(HttpServletRequest request, HttpServletResponse response) {
		
		if (log.isDebugEnabled()) log.debug("matrizMarcoLogicoSnip03Grabar(HttpServletRequest,HttpServletResponse");
	    HttpSession session = request.getSession();	
		Map<String, Object> matrizMarcoLogicoSnip03Map = new HashMap<String, Object>();
		
		matrizMarcoLogico = new MatrizMarcoLogico();
		proyectoBanco = new ProyectoBanco();
	    
		String viewName = "";
	       
		try{	
			
			matrizMarcoLogicoSnip03Map.put("idProyecto", request.getParameter("idProyecto"));
			matrizMarcoLogicoSnip03Map.put("version", request.getParameter("version"));
				
			matrizMarcoLogico.setProyecto(new BigDecimal((String)request.getParameter("idProyecto")));
			matrizMarcoLogico.setVersion(new BigDecimal((String)request.getParameter("version")));
			
			matrizMarcoLogico.setFin((String)request.getParameter("ta_descripcionFin"));
			matrizMarcoLogico.setIndicadorFin((String)request.getParameter("ta_indicadorFin"));
			matrizMarcoLogico.setMedioVerifFin((String)request.getParameter("ta_medioVerifFin"));
			matrizMarcoLogico.setSupuestoFin((String)request.getParameter("ta_supuestoFin"));
			matrizMarcoLogico.setProposito((String)request.getParameter("ta_descripcionProposito"));
			matrizMarcoLogico.setIndicadorProposito((String)request.getParameter("ta_indicadorProposito"));
			matrizMarcoLogico.setMedioVerifProposito((String)request.getParameter("ta_medioVerifProposito"));
			matrizMarcoLogico.setSupuestoProposito((String)request.getParameter("ta_supuestoProposito"));
			matrizMarcoLogico.setComponentes((String)request.getParameter("ta_descripcionComponente"));
			matrizMarcoLogico.setIndicadorComponente((String)request.getParameter("ta_indicadorComponente"));
			matrizMarcoLogico.setMedioVerifComponente((String)request.getParameter("ta_medioVerifComponente"));
			matrizMarcoLogico.setSupuestoComponente((String)request.getParameter("ta_supuestoComponente"));
			matrizMarcoLogico.setActividades((String)request.getParameter("ta_descripcionActividad"));
			matrizMarcoLogico.setIndicadorActividad((String)request.getParameter("ta_indicadorActividad"));
			matrizMarcoLogico.setMedioVerifActividad((String)request.getParameter("ta_ medioVerifActividad"));
			matrizMarcoLogico.setSupuestoActividad((String)request.getParameter("ta_ supuestoActividad"));
			matrizMarcoLogicoService.insertar(matrizMarcoLogico);
							
			viewName = "frmMarcoLogico";			
			
		
		} catch (ServiceException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ModelAndView(viewName,"matrizMarcoLogicoSnip03Map",matrizMarcoLogicoSnip03Map	);
	}
	
	
	
}

